home *** CD-ROM | disk | FTP | other *** search
- In a message of 07 Feb 96, IAN wrote to :
-
- IJE> ExecBase being absolute: It has to be! The application MUST know
- IJE> exactly where Exec is at. The OpenLibrary function is in Exec, so
- IJE> if Exec was an openable library with a variable base address, this
- IJE> would be a paradox.
-
- Would it? The system startup code should be able to handle this, IMHO, even
- without a fixed address..
-
- IJE> If the ExecBase was obtained in a different way, how? If it moved
- IJE> around, how could you find it? It is virtually impossible to not
- IJE> have at least one absolute address in a system. The only way to
- IJE> circumvent it would be to pass the ExecBase pointer in a register
- IJE> to the program when it first starts... but that wouldn't be too
- IJE> platform independent either.
-
- But what startup code is platform independent? You need some dependent
- parts, and startup falls into this category.
-
- Besides, fixed register or fixed memory location, what difference is there?
- Same dependancy, only a different way to find the information. And here I
- must say I'd prefer a fixed register (mostly because the address 4 on the
- Amiga isn't in the fastest address range).
-
- Side note: I'e written a library (that makes rather heavy use of system
- resources), that _never_ references address 4. There is no need to do it.
- For (most) programs, one access should be enough.
-
- IJE> There is NO way to run a program that accesses any OS function without
- IJE> relying on either: fixed addresses, fixed register(s), or fixed
- IJE> interrupts. (like the Mac; 0xA000 line interrupts call system
- IJE> functions.)
-
- True (but the Mac (and some old CP/M implementations) isn't one I like. I
- mean, there is a certain amount of overhead in exception processing ;).
-
- --
- Magnus Holmgren - Amiga programmer and enthusiast
-
-